home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
JCSM Shareware Collection 1993 November
/
JCSM Shareware Collection - 1993-11.iso
/
cl260
/
qastudyj.lzh
/
QASA.DOC
< prev
next >
Wrap
Text File
|
1993-01-17
|
152KB
|
3,896 lines
Q & A Study Aid (QASA)
User's Guide
Version 4.1
January 17, 1993
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Hal Endresen
Quid Pro Quo Software
P.O. Box 1248
Cedar Rapids, IA 52406-1248
CompuServe ID [73760,2032]
Q&A Study Aid V4.1 User's Guide
***** SPECIAL OFFER TO REGISTERED USERS ONLY *****
When you register this ASP SHAREWARE product, you will receive
two special discount offers.
The first offer is a subscription discount to SHAREWARE MAGAZINE.
You can receive a one year subscription to SHAREWARE MAGAZINE for
$12.95.
The second offer is a FREE COMPUSERVE MEMBERSHIP, plus $15.00 of
online credit.
These offers are available only to registered users. See page 61
for details. When you register this program, you will receive all
necessary information to take advantage of these two special
offers.
***** QASA CAN NOW BE REGISTERED ONLINE *****
***** Registering QASA Online Using CompuServe *****
QASA can now be registered online using CompuServe's shareware
registration service. To register single copies of QASA on
CompuServe, enter GO SWREG at the CompuServe prompt, and select
the option "Register Shareware." You will be presented with the
following menu:
Register Shareware
SEARCH BY:
1 Registration ID
2 Title
3 File Name
4 Author's User ID
5 Author's Name
6 Keywords (Categories)
Choose option "1" (Registration ID). When prompted for the ID,
enter "502" to register QASA. We will receive a registration
notification from CompuServe, and a registered copy of the latest
version of Q&A Study Aid will to you by return mail. The regis-
tration fee will be charged to your CompuServe account.
If are registering more than one copy or wish a site license,
please use the "Register" function in the "Utilities" menu.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide i
Table Of Contents
-----------------
DEFINITION OF SHAREWARE . . . . . . . . . . . . . . . . . . . 1
The Association of Shareware Professionals . . . . . . . . . 1
Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
Installation . . . . . . . . . . . . . . . . . . . . . . . . 5
Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 7
A Special Note . . . . . . . . . . . . . . . . . . . . . . . 7
User Interface . . . . . . . . . . . . . . . . . . . . . . . 9
QASA Command List . . . . . . . . . . . . . . . . . . . . . . 10
QA Command List . . . . . . . . . . . . . . . . . . . . . . . 11
The Command Line . . . . . . . . . . . . . . . . . . . . . . 11
/FL - Load A Database . . . . . . . . . . . . . . . . . . . . 11
/FS - Save a Database . . . . . . . . . . . . . . . . . . . . 14
/FC - Continue with a Saved Database . . . . . . . . . . . . 15
/FD - Shell To DOS . . . . . . . . . . . . . . . . . . . . . 15
/FX - Exit to DOS . . . . . . . . . . . . . . . . . . . . . . 15
/MS - Sequential Mode . . . . . . . . . . . . . . . . . . . . 16
/MR - Pseudorandom Mode . . . . . . . . . . . . . . . . . . . 16
/MC - Clear . . . . . . . . . . . . . . . . . . . . . . . . . 17
/N - Name . . . . . . . . . . . . . . . . . . . . . . . . . . 17
/US - Set Screen Colors . . . . . . . . . . . . . . . . . . . 17
/UM - Set Menu Selector Character . . . . . . . . . . . . . . 18
/UP - Set Password . . . . . . . . . . . . . . . . . . . . . 18
/UC - Invoke QASA Compiler . . . . . . . . . . . . . . . . . 19
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide ii
/UD - Decrypt Score File . . . . . . . . . . . . . . . . . . 19
/UE - Export Score File . . . . . . . . . . . . . . . . . . . 20
/UR - Print Registration Form . . . . . . . . . . . . . . . . 21
Scoring Window . . . . . . . . . . . . . . . . . . . . . . . 21
Answering Questions . . . . . . . . . . . . . . . . . . . . . 22
Creating a Database . . . . . . . . . . . . . . . . . . . . . 24
Macros . . . . . . . . . . . . . . . . . . . . . . . . . 28
The QASA Database Compiler . . . . . . . . . . . . . . . 29
Using The QASA Compiler . . . . . . . . . . . . . . . . 30
QASA Language Syntax . . . . . . . . . . . . . . . . . . 31
Terminators . . . . . . . . . . . . . . . . . . . . . . 32
The Q= and A= Keywords . . . . . . . . . . . . . . . . . 32
The P= Keyword . . . . . . . . . . . . . . . . . . . . . 33
The N= Keyword . . . . . . . . . . . . . . . . . . . . . 34
The M= Keyword . . . . . . . . . . . . . . . . . . . . . 34
The T= Keyword . . . . . . . . . . . . . . . . . . . . . 38
The C= Keyword . . . . . . . . . . . . . . . . . . . . . 39
The S= and R= Keywords . . . . . . . . . . . . . . . . . 39
The F= Keyword . . . . . . . . . . . . . . . . . . . . . 40
The E= Keyword . . . . . . . . . . . . . . . . . . . . . 43
The D= Keyword . . . . . . . . . . . . . . . . . . . . . 43
The W= Keyword . . . . . . . . . . . . . . . . . . . . . 43
The L= Keyword . . . . . . . . . . . . . . . . . . . . . 45
The O= Keyword . . . . . . . . . . . . . . . . . . . . . 46
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 46
Appendix A: QASA Compiler Error Messages . . . . . . . . . . 47
Appendix B: Revision Information . . . . . . . . . . . . . . 50
COPYRIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . 57
DISCLAIMER - AGREEMENT . . . . . . . . . . . . . . . . . . . 58
REGISTRATION . . . . . . . . . . . . . . . . . . . . . . . . 59
SITE LICENSING . . . . . . . . . . . . . . . . . . . . . . . 60
SPECIAL OFFER! . . . . . . . . . . . . . . . . . . . . . . . 61
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 1
DEFINITION OF SHAREWARE
-----------------------
Shareware distribution gives users a chance to try software
before buying it. If you try a Shareware program and continue
using it, you are required to register and pay for its use. With
registration, you get anything from the simple right to continue
using the software, technical support services, or an updated
program with printed manual.
Copyright laws apply to both Shareware and commercial software,
and the copyright holder retains all rights, with a few specific
exceptions as stated below. Shareware authors are accomplished
programmers, just like the authors of commercial software, and
the programs are of comparable quality (in both cases, there are
good programs and bad ones!). The main difference is the method
of distribution. The author specifically grants you the right to
copy and distribute the software, either to all and sundry or to
a specific group. For example, some authors require written
permission before a commercial disk vendor may copy and/or
distribute their Shareware.
Shareware is a distribution method, not a type of software. You
should find and purchase software that suits your needs and
pocketbook, whether it's commercial or Shareware. The Shareware
system is easier because you can try before you buy. Because the
overhead is low, prices are low also. Shareware has the ultimate
money-back guarantee - if you don't use the product, you don't
pay for it.
The Association of Shareware Professionals
------------------------------------------
The Association of Shareware Professionals is an organization
whose purpose is to promote the shareware distribution concept,
and to provide a forum for the resolution of disputes between ASP
members and their customers.
Quid Pro Quo Software is a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware
principle works for you. If you are unable to resolve a share-
ware-related problem with an ASP member by contacting the member
directly, ASP may be able to help. The ASP Ombudsman can help you
resolve a dispute or problem with an ASP member, but does not
provide technical support for members' products. Please write to
the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 or
send a Compuserve message via CompuServe Mail to ASP Ombudsman
70007,3536.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 2
Credits
-------
Microsoft(R), Microsoft Windows(R), MS-DOS, Microsoft C Optimiz-
ing Compiler(R), and Microsoft Macro Assembler are registered
trademarks of Microsoft Corporation.
IBM, OS/2, and PC-DOS are registered trademarks of International
Business Machines Corporation.
dBASE is a registered trademark of Ashton-Tate.
RTLink/Plus is a registered trademark of Pocket Soft, Inc.
DESQview is a registered trademark of Quarterdeck Office Systems,
Inc.
Lotus, Lotus 1-2-3, and 1-2-3 are trademarks of Lotus Development
Corporation.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 3
Introduction
------------
Q&A Study Aid is a general-purpose program designed to present
questions from a database. The user is then prompted for an
answer and graded accordingly.
In the context of this document, and within all program and other
files included with the QASA package, the word 'database' is used
in its generic sense. For our purposes, a database is simply a
collection of questions, answers, and options that is created by
the user, compiled, and interpreted by the QASA program. Like the
more general database programs such as dBASE(R), Q&A Study Aid
uses an indexed database, although the index is an integral part
of the database itself and not a separate file. All of the
details of the database implementation, such as the index,
records, fields, and data types, are handled automatically by the
Q&A Study Aid package. You need not, therefore, be concerned with
these, or even know what they mean.
QASA provides two methods of reading the questions from the
database: sequential and random. The program defaults to sequen-
tial mode.
A menu-driven command interface is provided with pull-down menus.
Filenames are selected from a directory by pointing. It is never
necessary to type in a filename unless a database is specified on
the command line.
QASA supports a comprehensive context-sensitive help system
accessible via the F1 key. Help is provided by a single file,
QASA.HLP. This file may be located in the current directory or in
any directory specified in the PATH environment variable. QASA
may therefore be placed in the \DOS (or equivalent) directory and
accessed from any other directory, provided that PATH environment
variable includes "\DOS". If you place QASA in a directory that
is not in the PATH string such that it is unable to locate its
help file, QASA will, as a last resort, pop up a window and ask
you to enter the name of directory containing the help file. If
you do not enter a directory name (by pressing RETURN at the
prompt), the Help key will be inactive.
QASA uses a compiled database. The database compiler is included
within QASA to allow you to create and compile your own databas-
es. The database compiler is invoked via the "Utilities" menu.
The "small model" interpreter-only program, QA.EXE, does not
include the compiler or any of the other utilities provided by
QASA.EXE.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 4
Both QASA.EXE and QA.EXE are written in the C language (with some
assembly-language) and compiled using the Microsoft C Optimizing
Compiler Version 6.00A and the Microsoft Macro Assembler V6.0B.
Pocket Soft's RTLink/Plus overlay linker is used to generate the
executable files.
This package contains the following files:
QASA.EXE QASA main program
QA.EXE "Small Model" (database interpreter only)
QASA.HLP QASA and QA help file
QASA.CFG configuration file suitable for VGA monitors
QASA.DOC documentation file (this file)
SAMPLE.QA sample database (compiled)
SAMPLE.DEF database definition file for SAMPLE.QA
VENDOR.DOC information for disk vendors and BBS sysops
FILE_ID.DIZ description for BBS sysops
The Q&A Study Aid package is SHAREWARE and is copyrighted by the
author. If QASA meets your needs and you continue to use the
program, you must register and pay for its use. The SHAREWARE
concept allows users to obtain high quality software at bargain
prices, and rewards authors for their efforts. Please support
this distribution concept by registering your copy. You will find
a registration form at the back of this manual (although the /UR
command will doubtless be much more convenient). You have unlim-
ited rights to copy and distribute the program, provided you
distribute it as the complete UNMODIFIED package QASA41.ZIP. Com-
ments, bug reports, or other information that may help me improve
this program are welcome and are encouraged. Only you can tell me
what you need!
QASA is offered as is. There is no guarantee that it will work on
your particular system; however, it has been tested with CGA,
MDA, EGA, and VGA monitors on PCs, ATs, 386 and 486 systems, and
under DOS, Windows, DESQview, and OS/2 2.0. Text mode is used; no
graphics card is needed. QASA will NOT use either EMS or XMS
memory, even if it is present. A minimum of 134K of program space
plus 28K of data space (RAM) is needed by the program; it will
tell you if you do not have sufficient memory to execute it. QASA
will use all available memory below the 640K conventional-memory
boundary if it is required.
All I/O is performed through system calls, with the exception of
the screen, which is controlled by direct writes to the screen
buffer. Under Microsoft(R) Windows, you must give QASA control of
the screen in a QASA.PIF file. Under DESQview, QASA will multi-
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 5
task in a DESQview window, and does not require any special
system resources.
QA.EXE will execute properly in a DOS window under OS/2 2.0.
QASA.EXE, however, will cause a sharing violation because it must
modify itself to enforce its registration policies. QASA will run
properly under OS/2 2.0 once it has been registered and a utili-
ties password has been selected under MS-DOS or PC-DOS.
QASA assumes that your screen is set to any text mode (color or
monochrome). If not, it will NOT reset the mode. If your screen
is in any of the graphics modes when QASA is invoked, you will
see garbage. Exit QASA using the /FX command (or press ESC if you
are still in the opening screen) and reset the mode manually
using the DOS MODE command. When QASA terminates, it will restore
the previous contents of your screen.
Installation
------------
Q&A Study Aid requires no special installation other than copying
the files to a hard or floppy disk.
The configuration file QASA.CFG is supplied with the distribution
package. This file is suitable for EGA and VGA color systems. If
you cannot read the screen, simply erase the configuration file
QASA.CFG, since it is created automatically if it is missing. If
you do this, you will get a prompt asking you for the directory
containing the configuration file, since QASA will not be able to
locate it on the disk. This prompt will appear anytime QASA is
unable to find its configuration file. If you move the file,
enter the name of the directory containing the file; otherwise,
press RETURN without entering a directory to cause QASA to create
the file. The default will be suitable for any system, including
LCD displays. You will not be required to enter a directory if
the configuration file is stored in any directory in the PATH
environment variable, or if it is in the current directory.
If you are using a hard disk, you may place the executable files
in any directory (note that the files QA.EXE, QASA.HLP, and
QASA.CFG are considered to be part of the executable files). If
you wish to execute the program from a different directory than
the one in which the files are placed, you must include the
directory containing the executable files in the PATH environment
variable. To view the PATH, issue the MS-DOS command SET with no
arguments; all environment variables will be listed to the
screen.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 6
If you do not have a PATH variable, as evidenced by a line of the
form
PATH=[list of directories]
then you may enter one. If you have placed all executable files
in the directory C:\QASA, for example, issue the command
SET PATH=C:\QASA <ENTER>
Do not include any spaces after the word PATH. Also, it is unwise
to include any removable drive in the PATH, since DOS will
attempt to search the directory of that drive when you attempt to
execute QASA. If the floppy has been removed, you will constantly
get an error from DOS.
If you wish to append a new directory, C:\QASA for example, to an
existing PATH, then simply retype your existing PATH and add the
directory to it as follows:
You type:
SET<ENTER>
MS-DOS responds with (for example):
PATH=C:\BIN
(other environment variables)
You type:
SET PATH=C:\BIN;C:\QASA <ENTER>
Note the position of the semicolon - it is REQUIRED between
directory pathnames.
Under DOS 3.30 and up, you may simplify this to:
SET PATH=%PATH%;C\QASA <ENTER>
You should place the 'SET PATH=xxxx' command in your AUTOEXEC.BAT
file, so that it will be set automatically whenever your system
is booted.
The Q&A Study Aid package is small enough to be placed on a
single 5.25" 360KB diskette if desired. If your database is too
large to fit on one diskette, you may place it on a second
diskette in the B: drive if you have one. Because QASA uses
nested overlays, you may not remove the diskette that contains
the QASA.EXE file, as the program will periodically read this
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 7
file to load overlays (this is NOT true of QA.EXE, which does not
use overlays).
To create a database file, you need only a database definition
file, which you create, and the QASA.EXE program. Similarly, once
you have created a database, the only files needed to execute the
database are the compiled database file (".QA"), QASA.EXE or
QA.EXE, QASA.HLP, and QASA.CFG. If space is really at a premium,
you may omit the help file QASA.HLP, but the HELP key (F1) will
no longer function. If you do this, QASA will complain that it
cannot find the help file, and ask you to enter the directory in
which it resides. To omit it, simply press ENTER without entering
a directory.
The QA.EXE program uses the same resource files as QASA.EXE:
QASA.HLP and QASA.CFG. If you wish to use a different configura-
tion for QA.EXE, you must install it in a different directory or
on a different drive. Then, using QASA, create the desired
configuration and exit QASA. The resulting QASA.CFG file may then
be copied to the directory or drive containing the QA.EXE pro-
gram.
Compatibility
-------------
The database files used by QASA 4.1 are fully source-compatible
with all previous versions, but are not binary-compatible. All
that is required is that you recompile your database files with
Version 4.1 of QASA.
QASA WILL NOT WORK WITH THE HERCULES GRAPHICS ADAPTER.
A Special Note
--------------
Special mention is made here of a particular characteristic of
QASA. The program, to enforce its registration policies, will, at
certain times, modify its own executable image on disk. This is
brought to your attention as this behavior may trigger some
virus-protection programs. Please do not be concerned if this
occurs; this is normal behavior. You must allow QASA to modify
itself or it will not execute.
QASA must be able to locate its own .EXE file. Under MS-DOS 3.0
and above, you should experience no problems, even if you rename
the file. However, under MS-DOS 2.x, if you rename the program,
you must specify the new program pathname using an environment
variable. For example, suppose QASA.EXE is in the directory
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 8
C:\BIN, and you rename it to QUIZ.EXE. You must then issue the
command
SET QASA=C:\BIN\QUIZ.EXE
You may place this command in your AUTOEXEC.BAT file if you wish.
You MUST specify the COMPLETE pathname, including the .EXE
extension. You cannot, however, change the name of the help file
QASA.HLP. The easiest way to change the program name is to use a
batch file. For example, to change the name to QUIZ, create
QUIZ.BAT as follows:
COPY CON: QUIZ.BAT <ENTER>
QASA %1 <ENTER>
^Z <ENTER> (^Z means hold down Ctrl
and press 'Z')
The '%1' will still enable you to specify the name of a database
to load automatically upon startup by typing:
QUIZ sample
IMPORTANT
---------
QASA.EXE selects a serial number and combines this with certain
system information the FIRST time it is executed. This becomes
your serial number, and this number MUST be supplied to register
the program (the /UR command prints the registration form with
the serial number on it). ONCE THE SERIAL NUMBER HAS BEEN AS-
SIGNED BY QASA, DO NOT MODIFY OR OVERWRITE THE QASA.EXE FILE OR
YOUR REGISTRATION NUMBER WILL NOT WORK. If you accidentally
overwrite a registered program file, you will have to send for a
new registration number (although once you have paid the regis-
tration fee, new registration numbers are supplied free of charge
if they are needed). It is a good idea to make a backup copy
after you have executed it the first time, and again after
registering your copy. Once you have registered and entered your
registration number, the serial number will change; for this
reason, it is important that you include the most recent serial
number in all correspondence. This applies ONLY to the file
QASA.EXE.
QASA also requires that the time and date provided by the MS-DOS
operating system be correct, since it uses this information in
the score file. When QASA is started, the current time and date
are checked; if either is invalid, QASA will abort after display-
ing a message requesting you to set the system date and time to
the proper values.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 9
QASA NEVER modifies any file other than its own executable image
on disk, the score file (if defined in the database), the saved
database file(s) (".SAV") if this feature is used, and the
configuration file. It will also create a ".QA" file each time
you compile a new quiz, and it will create a ".PRN" file is you
export the score file. You need not be concerned about modifica-
tions to your database source files or any other files on your
system.
User Interface
--------------
The following applies to both QASA.EXE and QA.EXE.
Commands are entered into QASA via a pull-down two-level menu
system. The uppermost screen region is the menu system. Each word
group on the menu line is the title block of a pull-down menu.
Whenever one of the titles is selected, the menu expands to
display any options available under it.
Under most conditions, QASA will be prompting for an answer to a
question. Some means must therefore be provided to break out and
into the menu system so that an option can be selected or a
command given. There are two ways of doing this: via an ALT key
sequence or by pressing the menu selector character, the forward
slash ('/'). Note that this character may be changed using the
/UM (Utilities/Menu Selector) command. This document will,
however, assume that you have NOT altered the default.
If an ALT sequence is used, it is only necessary to press one or
two ALT keys to select any command option. A top-level selector
is specified by ALT-shifting the highlighted letter. For example,
the "Mode / Sequential" command is executed with ALT-M/ALT-S. To
do this, hold down the ALT key and press 'M' and then 'S'.
If you use the '/' menu selector character, the word MENU will
first appear at the right of the menu line to indicate that you
are in the menu system. At this point, any combination of high-
lighted and underscored letters (as defined by the screen colors
you choose) and cursor keys can be used to select a menu title
block. Note that F1 will always get help no matter where you may
be, in or out of the menu system. The only exception to this is
for error messages ("Problem"), for which you may not obtain
help. Once the desired option has been selected, RETURN executes
it. Note that neither the slash nor the RETURN are necessary when
using ALT-key sequences.
Versions 3.0 of QASA and above provide the ability for you to
specify a database file on the command line. If you do so, you
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 10
will still see the opening screen, but as soon as you press a
key, the database will be loaded and the first question will be
displayed. If the database specifies a time limit, the timer will
be started immediately.
If the database you specify cannot be found, then an error
message will be displayed, and you must select the database
normally using the /FL command. For example, the DOS command
C>QASA sample
will load the sample database and display the first question.
Note that you do not have to specify the ".QA" extension. If you
do specify an extension, it MUST be ".QA"; QASA will force this
extension for all database files.
QASA's menu system commands are listed on the following page.
QASA Command List
-----------------
/FL load a database
/FS save a database for later resumption
/FC continue with a previously-saved database
/FD shell to DOS
/FX exit to DOS
/MS set mode to sequential
/MR set mode to pseudorandom
/MC clear score and start quiz over
/N enter name
/US set screen colors
/UM set menu selector character
/UP set password
/UC invoke database compiler
/UD decrypt a score file to plain text
/UE export a score file
/UR print registration form (appears only if the pro-
gram copy is unregistered)
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 11
QA Command List
---------------
/FL load a database
/FS save a database for later resumption
/FC continue with a previously-saved database
/FX exit to DOS
The Command Line
----------------
QASA and QA do not require any command-line parameters or argu-
ments. They will, however, allow you to specify the name of a
database file on the command line so that the program may be
invoked from a batch file.
If you specify the name of a database file on the command line,
you do not have to enter the extension. QASA will change the
extension as required, and add one if it is omitted. For example,
to start QASA using the sample database provided, you simply type
QASA SAMPLE <ENTER>
or
QA SAMPLE <ENTER>
The opening screen will be displayed normally, but once you press
ENTER, the database file SAMPLE will be automatically loaded.
If you specify the name of a database to the QA.EXE program, then
the program will automatically terminate when the database
execution has been completed.
/FL - Load A Database
---------------------
When you issue this command, QASA or QA will display the name of
the directory you started the program from; e.g., the current
working directory. If your database files are located in this
directory, simply press RETURN to accept the default name. If
your database files are located in another directory, you may
edit the directory name. QASA/QA will remember the new directory
name and present it as the default the next time you use this
command.
When specifying the directory, you may select a different disk
drive followed by the path name to the database files in conven-
tional DOS form:
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 12
D:\DIR\DIR.....
If you clear the name of the directory by using the backspace key
or by using the HOME key followed by Ctrl-End, QASA/QA will
automatically insert the name of the current working directory
after you press RETURN. Note that you will not see this occur as
the window will be closed as soon as you press RETURN. However,
the directory shown the next time you invoke the /FL command will
be the current working directory again.
If you enter a drive or directory that does not exist, you will
receive an error message and you must enter the command again to
specify the proper directory. If you enter the drive identifier
of a floppy disk drive, and the drive door is open, you will
receive an error, and you will be given the opportunity to close
the drive door and retry the command.
Note: Certain DOS configurations can cause apparent errors
that QASA or QA cannot detect. If, for example, you
have installed a 'foreign' disk drive using the command
"DEVICE=DRIVER.SYS <parameters>" and reassigned the
name of a diskette drive using the DRIVPARM command in
your CONFIG.SYS file (MS-DOS and PC-DOS 3.30 and later
only), and you enter the original drive letter, QASA
and QA will appear to hang. Actually, what is happening
is that DOS wants you insert the diskette for the drive
you have reassigned it to, although you will not see
the message DOS normally displays. All that is neces-
sary is for you to press the RETURN key.
Once you have entered the name of the directory containing your
database files, QASA/QA will pop up a window to allow you to
select from the compiled database files available in that direc-
tory. If there are no database files in the directory, QASA/QA
will display "[ empty ]". QASA/QA will NOT display any files
other than compiled database files.
To select a compiled database file, move the selection bar to it
using the cursor keys, PgUp and PgDn, or Home and End. Each of
these permits traveling up and down the scrollable list in larger
increments. Alternatively, you may also press a letter key that
corresponds to the first character of the database filename;
QASA/QA will find the first file beginning with that letter.
Successive depressions of the same key will step to each database
name that begins with that letter. The search stops at the last
file that begins with that letter. The search always proceeds
down the list; to restart the search, press HOME to move the
selector back to the first file in the list.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 13
Once you have pointed to the file you desire, press RETURN. The
compiled database file will be loaded. If the optional score
logging has been enabled in the database, QASA/QA will request
that you enter your name for the score file (you may not proceed
until you have done so, although you may abort the command at
this point by pressing ESC). The first question will then appear
on the screen, along with the number of questions in the database
in the scoring window. The name of the database will also be
shown in the center of the top border of the question window if
it has been specified in the database. If no title was specified,
then the window title will default to "Question".
Note: When you load a database file that specifies a score
file name, and that score file already exists, QASA and
QA will check to insure that the encryption modes are
compatible. If not, they will display an error message
and override the encryption setting in the database
file you loaded.
For example, if you create two separate databases, both
of which specify the same name for the score file, but
only one has score file encryption enabled, you will
receive an error when you load the second database, no
matter which one you load first. The order will affect
only the encryption of the score file, which is deter-
mined by the first database loaded. If you always use a
different score file for each database, or are consis-
tent with score file encryption, you should experience
no problems. Note that QASA and QA will still function
properly, however.
Each time you load a database file with score file logging
enabled, QASA/QA will request your name, even if you have already
entered it. This is to allow other users to reload the same
database without using the same name for all users. If score file
logging is not enabled, QASA/QA doesn't force you to enter your
name. You may do this anyway with QASA if you wish, using the /N
(Name) command, and QASA will politely display it when it dis-
plays your final score.
If the database you load has a time limit associated with it, the
time remaining will be displayed in the status window under the
heading 'Time Left', and the clock will start. The time is
counted down to zero, and always shows the time you have remain-
ing before QASA/QA stops you and calculates your final score. If
the database does not specify a time limit, the 'Time Left' field
will not be displayed. If you allow the time to count down to
zero, it will change to 'Time Out'.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 14
Note: If you press the help key while a timed database is
loaded, the time display will not be updated until you
exit the help system. QASA/QA will, however, internally
track the remaining time. You may NOT extend the time
by using help.
To permit QASA/QA to utilize relatively large databases (~40,000
questions and their answers in a 640K system), QASA and QA load
an index into memory rather than the database file itself. The
database index is created by QASA in the form of a header in the
database file itself. Note that this is also true of the help
file to minimize the memory used by QASA and QA.
The database file (.QA) should never be changed directly, as it
is encrypted to prevent users from copying the file to the screen
or a printer and thereby viewing the answers. If you wish to
create a new database or alter an existing one, you must edit the
database definition file (.DEF) and recompile it using QASA. QASA
will create a (.QA) file from your (.DEF) file. QASA will not
permit you to use the .QA extension on a definition file, so you
cannot accidentally overwrite a compiled database.
You must create the database definition file and compile it
before QASA or QA can be used. Instructions for doing this are in
a later section of this guide. Note that this package contains a
compiled database that you may use to test and evaluate QASA and
QA. This file is called SAMPLE.QA. The database definition file
it was created from is also included, and is called SAMPLE.DEF.
/FS - Save a Database
---------------------
This command will save the present state of a database so that
you may return and continue with it later. IT WILL NOT WORK IF
THE DATABASE HAS A TIME LIMIT ASSOCIATED WITH IT.
If you issue this command on a database that has no time limit,
the state of the database will be saved in a file in the current
directory with the same base name as the database, but with an
extension of ".SAV". You may have different .SAV files in differ-
ent directories for the same database if you wish.
Note: If you issue this command or the /FL (File/Load Data-
base) command, any existing .SAV file for that database
will be erased from the current working directory of
the disk, and you will not be able to resume it. The
/FL command, by definition, specifies that you wish to
restart the database from the beginning.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 15
Once you issue the /FS command, the database will be saved and
you will be returned to the main screen so that you may execute
another command.
/FC - Continue with a Saved Database
------------------------------------
This command will allow you to resume a database which was
previously saved using the /FS (File/Save Database) command. It
works exactly like the /FL (File/Load) command, except that the
list of files displayed will have an extension of ".SAV" instead
of ".QA". If no database file has been saved, "[ empty ]" will be
displayed.
When this command is used, the previous state of the database is
restored. The question that was on the screen will be redis-
played, and the scoring window will reflect the previous state of
the database.
Note that once you have completed a quiz or test database, any
.SAV file in the directory from which the database was originally
loaded will be erased. You cannot, therefore, resume a completed
database.
/FD - Shell To DOS
------------------
This command may be used to invoke a secondary copy of the DOS
command processor COMMAND.COM (or whatever file is specified by
the "SHELL=" environment variable). QASA will remain loaded. Note
that this command will NOT work if a database is currently loaded
(you will receive an error message). This command is not avail-
able in QA.EXE.
Once DOS has been invoked, you may execute any commands you wish,
although you will have less memory available. When you wish to
return to QASA, type 'EXIT' at the DOS prompt. The previous state
of QASA will be restored to the screen.
/FX - Exit to DOS
-----------------
Use this command to quit a QASA/QA session and return to DOS. If
you have loaded a database but have not answered all questions,
the score file will be updated with your current score and a
notation that you quit QASA/QA. You cannot exit QASA/QA, clear
the database, or reload the current or new database without
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 16
updating your score file. This prevents extending time limits
and/or starting a quiz over again without any knowledge by the
administrator that such an event occurred.
Also, when you quit a QASA/QA session using this command, any
saved database file of the same name is erased from disk, pre-
venting resumption if the database had been previously saved. As
a general rule, whenever your final score is displayed (and
optionally, the score file is updated), or whenever you load a
database using the /FL (File/Load Database) command, any associ-
ated .SAV file will be erased.
Note: Pressing Control-C or Control-Break is interpreted the
same as /FX without the RETURN. Simply press RETURN to
update the score file and return to DOS.
/MS - Sequential Mode
---------------------
The sequential mode option (QASA only) tells QASA that you wish
to answer the questions in the same order as they appear in the
database file (this is the default). When selected, the new mode
will appear in the scoring window. This option does NOT cause
QASA to start reading from the beginning of the file; it simply
changes the method used to determine the next question. Sequen-
tial mode reads the questions from the database in a circular
fashion until all questions have been answered. This allows
switching between modes. QASA will not present a question again
once it has been answered.
When all questions have been answered, QASA will update the
optional score file and display the final score.
Note that this command may be locked out by an option given in
the database definition file. If this is the case, the command
will simply be ignored. No warning will be given indicating that
the command is locked out.
/MR - Pseudorandom Mode
-----------------------
This mode is used when you want QASA to choose the questions at
random. The pseudorandom number sequence is different each time
the program is run. This command is available in QASA only.
In this mode, QASA will select the next question at random from
the set of unanswered questions. It will not, therefore, ask a
question again once it has been answered.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 17
When all questions have been answered, QASA will update the
optional score file and display the final score.
Note that this command may be locked out by an option given in
the database definition file. If this is the case, the command
will simply be ignored. No warning will be given indicating that
the command is locked out.
/MC - Clear
-----------
Use the Clear option (QASA only) to reset your score back to zero
and to reset the question index back to the beginning of the
file. The question index is cleared only by using this command or
by loading a new database. If you use this command, a record will
be written to the score file indicating that the database was
started over.
Note that this command may be locked out by an option given in
the database definition file. If this is the case, the command
will simply be ignored. No warning will be given indicating that
the command is locked out.
/N - Name
---------
This command (QASA only) is used to enter your name, which is
placed into the score file and also displayed when the quiz
session is completed or otherwise terminated.
When this command is given, a data entry window will pop up and
prompt for your name and/or any other identifying information.
You may enter up to 35 characters.
If a database is loaded that specifies a score file, this command
will not work. In this case, you will be prompted to enter your
name when the database is loaded; you may not change it until the
database has been completed or aborted.
/US - Set Screen Colors
-----------------------
This command (QASA only) is used to modify the screen colors. A
color map of all possible color is displayed, along with a
simulated menu window. A title bar at the top of the screen
specifies which portion of the screen you are modifying. All
color selections are performed by using the cursor keys to point
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 18
to the desired color. The PgUp and PgDn keys are used to alter
the title bar, thereby changing the item whose color is to be
modified. The simulated menu will change with each color change
so that you may see the effect of the changes.
Once you have set the colors as you wish, press ENTER to save the
new colors in the configuration file, or ESCape to cancel the
changes. For the full effect of the changes to be seen, you must
quit QASA and then restart it so that it will redraw all screens
using the new color set.
/UM - Set Menu Selector Character
---------------------------------
QASA and QA use a specific character to escape (out of an answer
prompt if displayed) and into the menu system. This character
defaults to the forward slash ('/'), but you may change it to any
character you wish in the printable ASCII range of '!' through
'~', inclusive. Once you change it, it is saved in the configura-
tion file and will therefore be set each time you start QASA or
QA. If you change your mind, you can reset the character or press
ESCape to cancel the command if you have not yet pressed the
ENTER key. The current menu selector character is always dis-
played at the bottom of the question/answer window. This command
is not available with QA.EXE.
/UP - Set Password
------------------
This command (QASA only) is used to set or change the password
that allows access to the compiler, score file decoder, and the
score file export commands. It cannot be used if QASA is execut-
ing under OS/2. You must do this while running under MS-DOS or
PC-DOS or by using the 'load specific DOS version' feature of
OS/2 2.0.
QASA is distributed with no password. Anyone may therefore use
the password-protected commands until and unless a password is
entered using this command.
When this command is selected, if there is a password, you will
be asked to enter it. You cannot change a password unless you
know the current password. The password may be any series of
characters in the range of space through a tilde ('~'), inclu-
sive, and may contain up to 19 characters.
If there is no current password, you will not be asked to enter
it.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 19
Once you have entered the current password, if any, you will be
asked to enter the new password. Once you have done this, you
will be prompted to confirm it. If the two passwords match, the
new password will be encrypted and stored. Any attempt to identi-
fy or modify the password will render QASA useless; it will no
longer execute.
Note that once a valid password has been entered, QASA is 'un-
locked', and you will not be required to enter the password again
for any function.
/UC - Invoke QASA Compiler
---------------------------
This command (QASA only) is used to compile a database definition
file into a compiled database file that may be executed by QASA.
This command is password-protected, and cannot be executed while
a database is loaded even if you know the password.
See the section entitled "Using the QASA Compiler" on page 30 for
a full explanation on invoking and using the compiler.
/UD - Decrypt Score File
------------------------
This command (QASA only) is used to decrypt a score file. It is
password-protected.
It will pop up a directory window so that you may enter the
directory containing the score file to decrypt, or you may accept
the directory shown by pressing ENTER. Once you have selected the
directory, a file-selection window will be displayed so that you
may select the score file to decrypt.
Once you select a score file, the file will be converted to plain
ASCII text. If the file is not encrypted, you will receive an
error message.
The decrypted score file replaces the original file. All score
files are named using the base score file name defined in the
database definition file, with an extension of ".SCR".
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 20
/UE - Export Score File
-----------------------
This command (QASA only) is used to export the contents of
certain fields in the score file to a file whose format is
acceptable to the vast majority of database and spreadsheet
programs. This command is password-protected.
By using this command, you may import all scores for an entire
class into a spreadsheet, for example, and use the spreadsheet to
calculate bell curves, normalize the scores or convert them to
another form. You could average the scores for several QASA quiz
sessions. You may also use a database program to maintain a
history by student of all quizzes and their scores.
This command will pop up a directory window so that you may enter
the directory containing the score file to export, or you may
accept the directory shown by pressing ENTER. Once you have
selected the directory, a file-selection window will be displayed
so that you may select the score file to export.
Once you select a file, QASA will check if the score file is
encrypted, and if so, will ask if you wish to decrypt it first.
An encrypted score file may not be exported. If you answer NO,
then the command is aborted.
QASA will then locate and export certain fields in the score
file, creating one line for each record in the score file, as
follows:
Student, Database, Score, Grade, Termination, Time
where:
Student is the student's name in quotes
Database is the name of the database in quotes
Score is the final score
Grade is the letter grade in quotes
Termination is the termination explanation in quotes
Time is the elapsed time in seconds
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 21
Note that QASA will also export a header line, which you may
delete from the spreadsheet or database if you wish. The follow-
ing is an example of an exported score file containing two
records.
"Student", "Database", "Score", "Grade", "Termination", "Time"
"John Public", "History Quiz", 79.23, "C+", "Time Out", 720
"Jane Doe", "Math Quiz", 94.00, "A", "Completed", 298
If you are exporting the score file for use with Lotus(r) 1-2-3,
you would use the /FI (File/Import) command. Be sure to select
the "Numbers" option.
/UR - Print Registration Form
-----------------------------
This command (QASA only) will print a registration form to make
as easy as possible for you to register your copy of Q&A Study
Aid. You can also use CompuServe to register single copies.
You may print the form to any device or any file. The device must
be able to interpret carriage return, line feed, backspace, form
feed, and normal text.
The registration form will prompt your for the necessary informa-
tion. In addition, it will determine a number of items concerning
your system configuration. If any of the configuration items is
incorrect, please make the necessary corrections. For example,
QASA will not detect an LCD screen - only color or monochrome.
This form will display the registration price schedule and
calculate the registration fee based upon the number of copies
you wish to register.
If you have already registered your copy(ies) or Q&A Study Aid,
this option will not appear on the menu.
Scoring Window
--------------
The scoring window always shows the current state of both you and
QASA/QA. The scoring window is blank until a database is loaded,
so you may easily ascertain if a database is loaded or not. The
items that may appear in the scoring window are described below.
Time Left This shows the time remaining to answer all
questions in a database that has a time lim-
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 22
it. If the database does not have a time
limit, this field will not be displayed. If
the database has a time limit associated with
it, you will see this time counting down to
zero. At zero, it will change to 'Time Out'.
Mode This is the current question-indexing mode,
and will be "Random" or "Sequential". QASA
always starts up in sequential mode. The mode
may be specified in the database.
Questions This specifies the total number of questions
in the database.
Answered This indicates the number of questions that
you have answered. When it equals the number
of questions in the database, your final
score will be displayed.
Correct This is the number of questions that you have
answered correctly.
Score Your score is a simple ratio of the number of
possible points to the number you have been
awarded, and is displayed in percent.
Grade If optional letter-grade equivalencies have
been assigned in the database, and the grade
display has not been turned OFF, then this
will show the current grade that has been
achieved relative to the score. The database
may be configured so that the grade is not
displayed at all until a certain score has
been achieved; once this base score is
achieved, the grade will be updated along
with the score. If the grade display has been
turned off, or if there are no grade equiva-
lencies in the database, then this field will
not be shown.
Answering Questions
-------------------
QASA/QA do not require you to answer questions in the order they
are presented (as defined by the mode). QASA/QA will determine
the next question using the mode you select (or the mode that
been forced in the database), but once the question is displayed,
you may elect to skip it (intending to come back to it later) and
let QASA/QA present the next one. QASA/QA will remember that the
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 23
question was skipped and display it again at some later time,
depending upon the mode you have selected.
Skipping a question is done simply by pressing the ESCape key
when QASA/QA prompts for an answer. The question will not be
scored, but QASA/QA will present it again after you have answered
all of the remaining questions (sequential mode) or at any time
(random mode). You may not omit a question, but you may essen-
tially scan through the questions and answer them in the order
you choose.
If you choose to answer a question, you must enter a response.
QASA/QA will not accept a blank answer.
QASA/QA will always display the number of percentage points you
will be awarded, if you answer correctly, at the right of the
answer window. The number of points displayed is the ratio of the
total weight of all questions in the database (or of all ques-
tions in a subset of the database) to the weight of the question
in points relative to 100%, as defined in the compiled database.
If you answer incorrectly, you are awarded zero points.
You may also enter a command any time you are being prompted for
an answer.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 24
Creating a Database
-------------------
The database is the heart of QASA. QASA receives virtually all of
the information it needs to present and score your answers from
the database.
The database is created from a plain ASCII, or 'flat' file, and
then compiled using the database compiler within QASA. The input
given to QASA is called the database definition file; the output
of QASA is the compiled database. QASA creates and destroys one
intermediate file (with an extension of ".$$$") as it compiles
the database definition file. QASA will require free disk space
approximately equal to twice the size of the database definition
file.
QASA supports a large number of options that may be used to
control the quiz session. Each option is specified using a
command keyword followed by zero or more lines of text. It is
important to remember that keywords must be on a line by them-
selves with NO OTHER TEXT.
If you use a word processor program to create the database
definition file, be sure to use its 'non-document' mode to insure
that it won't put in any formatting codes. A plain ASCII text
editor is recommended (EDLIN, or preferably EDIT, which are
included with DOS, are two such editors).
To enable QASA to handle all of the common question formats
except 'essay' questions, a very general database arrangement is
used. QASA expects each question to be followed by the correct
answer, which it uses to check the answer typed in by the user.
QASA can handle multiple-choice, true/false, and fill-in-the-
blank questions with equal ease.
The database must contain one instance of each of two keywords
for each question in the database. These keywords are, exactly,
in quotes:
"Q="
"A="
As you might expect, these stand for "question" and "answer". The
question MUST precede the answer. QASA will complain about any
irregularities it finds in the database when it constructs the
compiled database file.
The following is a simple example of a question and answer as
they might appear in the database definition file. It is a
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 25
multiple-choice question. The following text is entered into the
database definition file:
Q=
Multiple-choice:
What is the capital of Pennsylvania?
A. Philadelphia
B. Washington, D.C.
C. Harrisburg
D. None of the above
A=
C
QASA/QA will display the question beginning on the line immedi-
ately following the 'Q=' line. The end of the question is marked
by the 'A='. All lines between these markers form the question,
which QASA will display exactly as it appears in the database.
You may, therefore, format your questions any way that you wish.
QASA does absolutely no interpretation of the text you enter for
a question. QASA will impose NO restrictions other than the
number of rows and columns; you may use up to 15 lines of 76
characters. If the question contains more than 15 lines, the
extra lines will be discarded and you will receive an error
message. Blank lines between the end of the actual question and
the 'A=' line are effectively discarded and do not count against
the 15 lines allowed. The question above, therefore, consists of
seven lines, not eight.
Note that the 'Multiple-choice' prompt is actually a part of the
database - NOT hard-coded into QASA. You may include this as part
of your database or omit it if you wish. Similarly, you may
number your questions any way you wish, or not at all. QASA/QA,
however, will consider them to be numbered sequentially beginning
with one as the first question in the database when it creates a
score file entry.
The answer follows beginning on the line immediately after the
'A='. In this example, it is 'C'. All this means is that QASA
will score as correct any response to the question that is
exactly 'C' OR 'c' - case is not significant. QASA/QA does some
preformatting of these strings prior to the comparison, however.
Both the answer in the database and the answer typed in when the
database is executed are processed the same way:
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 26
1. All leading whitespace is removed. This means that
C
and
C
are equivalent and are themselves equivalent to the 'C'
in the example above.
2. All leading and trailing whitespace, including newline
characters, is removed.
3. All whitespace (blanks and tabs) between words is col-
lapsed to a single space:
"Washington, D.C."
and
"Washington, D.C."
are equivalent.
4. All characters are folded to uppercase; 'Yes' and 'yes'
are therefore equivalent.
These steps insure that a response will not be scored as incor-
rect due to the position or character case of any part of the
response in either your answer or that in the database.
Note that these same rules are also applied to the 'Q=' and 'A='
markers. They may, therefore, appear anywhere on the line. You
cannot, however, insert anything between 'Q' and '=', nor can you
put anything else on the line with the command keyword.
In the example above, one correct answer was specified. The only
answer that could be scored as correct is 'C' (and 'c', of
course). Note that we could just as well have used numbers as
selectors and given '3' as the answer. QASA makes no attempt to
interpret this information; it simply looks for an exact match
based on the criteria outlined above.
This next example will demonstrate a true/false question.
Q=
Answer true or false:
QASA understands the information in the database.
A=
False
Note the (valid) position of the 'A='. This time we have indented
the question using tabs. When QASA compiles the question, it
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 27
expands the tabs automatically (using 8-column tab stops) to
maintain the alignment as it is in the database definition file.
We also have three blank lines after the 'Q='; this serves to
shift the question down toward the center of the question window
to make it look nicer.
This example is not good practice (although it will be compiled
correctly), since the 'A=' would be easy to miss if the database
were edited, and the indentation is inconsistent. It does,
however, have a more serious drawback: to get the question right,
you must type in 'false' - all 5 characters - and 'false' is one
word I just cannot type (it always comes out 'flase')!
For a true/false question, one would be likely to respond with
'T', 'F', 'yes', 'y', 'no', 'n', or possibly '1' and '0'. To
accommodate these options, QASA allows more than one correct
answer. In fact, every nonblank line following 'A=' is treated as
a correct answer. The second example above, then, would be more
appropriately given by
Q=
Answer true or false:
QASA understands the information in the database.
A=
False
F
No
N
0
This permits any of the five answers to be regarded as correct.
If you give an incorrect response to a question (e.g., one that
is not among the list of correct answers), QASA will display the
correct answer for you, as well as omit one or more points from
your score. When QASA/QA displays the correct answer, it uses the
first one given in the answer list. What this means is that
QASA/QA will display
Incorrect. The correct answer is
False
Press any key to continue.
which is more professional than 'N', for example.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 28
This feature adds a lot of versatility to QASA and QA. Since
QASA/QA is intended to be a study aid as well as a general-
purpose testing program, it provides reinforcement of incorrect
answers by permitting a more complete correct answer. To demon-
strate this, we'll use a third example; this time, a fill-in-the-
blank question:
Q=
The speed of light is ______ km/sec.
A=
Light travels at 300,000 km/sec.
300000
300,000
300K
In this example, an incorrect response will elicit
Incorrect. The correct answer is
Light travels at 300,000 km/sec.
Press any key to continue.
Of course, this is also a correct answer in itself, but not a
likely one. If you do enter it, it will be scored as correct. You
would, however, be required to include the comma, the slash
between 'km' and 'sec', and the period.
There are three more plausible correct answers that QASA would
consider to be correct. Any one of them is sufficient to credit
the answer as correct.
Note that the display of the correct answer may be disabled
beginning with Version 3.0 of QASA. This is done by issuing the
'D=' (Display Off) command in the database. This a global command
and will turn off the display of all answers, no matter where you
place the command in the database definition file.
Macros
------
When creating a large database definition file, it is annoying to
have to type the four or more common answers to a true/false
question. To make this easier, QASA supports simple macros. A
macro is a block of text that is inserted in place of a macro
identifier. We may therefore create a macro for 'true' and a
macro for 'false', and use the macro identifier instead of typing
all four answer lines. These macros would look something like the
following example.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 29
M=
$TRUE$
true
t
yes
y
M=
$FALSE$
false
f
no
n
Q=
Answer true or false:
QASA understands the information in the database.
A=
$FALSE$
The "M=" is the macro keyword, and tells QASA that the following
lines form a macro definition. The first line following the macro
keyword is the macro identifier. You may use ANY character string
as a macro identifier, provided it does not contain blanks or
tabs. The dollar signs are not necessary, but serve nicely to
identify $FALSE$ as a macro invocation. When QASA reads the
identifier, it will substitute all lines following the macro
identifier up to the first blank line or keyword, whichever is
found first. Note that QASA will display "false" as the correct
answer if the question is answered incorrectly, as it is the
first answer in the answer list formed by expanding the macro.
The above is a short introduction to creating a database defini-
tion file. The following section describes the QASA compiler in
detail.
The QASA Database Compiler
---------------------------
The QASA compiler is used only when a database is first created.
A password (if entered using the /UP command) is required to gain
access to it. Once the database definition file has been created,
it is compiled with QASA, and the compiled database file (which
has an extension of .QA) is used with the QASA program. This
offers several advantages, among them:
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 30
1. The database is encrypted. A user of QASA or QA cannot
look in the file using any viewing, listing, or debug-
ging program and see the questions and answers. The
QASA/QA interpreter knows the encryption method and
decrypts the database as it reads it.
2. The author of the database definition file may specify
a number of options to control the quiz session. These
options cannot be seen or modified by anyone using QASA
or QA.
3. Since the database has been preprocessed by QASA,
loading and display of questions is fast and error-
free. It is not necessary for QASA or QA to perform any
formatting at run time.
Using The QASA Compiler
------------------------
When you issue the /UC command, QASA will prompt for a password
(if one has been defined), and will then display a window showing
the current directory. If your database definition files are in
another directory, you may edit the directory here using the
standard DOS directory naming conventions. Once you accept the
directory by pressing ENTER, a file-selection window will be
displayed, listing all of the database definition files in that
directory (e.g., all files with an extension of ".DEF"). QASA
requires you to use an extension of ".DEF" for the database
definition file. Select the file you wish to compile and press
ENTER. QASA will compile the database and then present a screen
showing the results of the compilation.
QASA will not make any changes to the database definition file
(your 'source' file). It will create a compiled database file of
the same base name, but with an extension of .QA. If the database
definition file is named QUIZ.DEF, then the compiled database
will have a name of QUIZ.QA. If the compiled database file
already exists, it is overwritten by QASA, and the original
contents will be lost. QASA will NOT warn you of this.
When QASA is finished, it will display the results of the compi-
lation, including the options you selected in the definition
file. The output below was produced by compiling the sample
database SAMPLE.DEF (the screen window has been reduced horizon-
tally to fit on the page).
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 31
+--------------------- Compilation Results ---------------------+
| Database Name: Q&A Study Aid Sample Database |
| Input File: C:\QPQ\V41\SAMPLE.DEF |
| Output File: C:\QPQ\V41\SAMPLE.QA |
| Score Filename: SAMPLE.SCR Total Weight: 35 |
| Time Limit: 00:10:00 Mode Lock: (none) |
| Clear Command: Enabled Answer Display: Enabled |
| Source Lines: 496 Total Questions: 20 of 25 |
| Macro List: Letter Grades: 13 |
| $TRUE$ |
| $FALSE$ |
| |
| |
| |
| |
| |
| Press Any Key To Continue |
+---------------------------------------------------------------+
QASA Language Syntax
---------------------
QASA, being a true compiler, requires that you follow certain
syntactical rules when creating a database definition file. The
syntax was made as simple and forgiving as possible to minimize
the learning time.
The QASA language is line-oriented, meaning that QASA views its
input in terms of whole lines. You may not, therefore, put two
keyword markers on the same line, for example.
The following is a short summary of the keywords that QASA uses.
Q= Question text
A= Answer list
P= remove Punctuation from the next answer
N= quiz Name
M= Macro definition
T= Time limit
C= Clear not allowed
S= lock in Sequential mode
R= lock in Random mode
F= output score Filename
E= Encrypt score file
W= assign Weighting
G= assign letter-Grade equivalencies
D= disable Display of incorrect answers
L= Limit the number of questions to a subset
O= omit the subset at compile time as opposed to run time
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 32
Each of these keywords is described in the following paragraphs.
QASA scans and discards all text in the database definition file
that is not part of a keyword interpretation. This means that you
may insert comments almost anywhere, without using special
comment delimiters or markers. Since QASA is line-oriented, you
may not, of course, place a comment on the same line with any
keyword or its associated text. Comments are otherwise unre-
stricted. The sample database definition file SAMPLE.DEF provides
many examples of the use of comments.
Terminators
-----------
Every QASA command keyword (e.g., "Q=", "A=", etc.) has a termi-
nation, which tells the compiler when the end of the keyword
interpretation has been reached. For all QASA keywords, with the
single exception of the Q= keyword, the termination is the same:
a blank line, another keyword, or end-of-file. In this context, a
blank line is any line that contains zero or more space or tab
characters only. For the Q= keyword, a blank line is NOT a termi-
nation; only the 'A=' keyword terminates a question. This is to
allow blank lines in the question text. You must be careful not
to place comment lines between the Q= and A= keywords, since
these will be regarded as part of the question and displayed on
the QASA or QA screen.
The Q= and A= Keywords
----------------------
As mentioned previously, Q= and A= are the keywords for 'ques-
tion' and 'answer', respectively. The syntax is as follows:
Q=
<question text>
<question text>
<blank line(s)>
....
<question text>
<blank line(s)>
A=
<displayed answer>
....
<termination>
A question may not have more than 15 lines of text associated
with it, and you are limited to 76 characters per line. Within
this rectangular boundary, you are unrestricted. If you exceed
the allowed number of lines or if a line contains more than 76
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 33
characters (after tab and macro expansion), QASA will display an
error message.
You are permitted any number of answer lines, limited only by the
amount of memory available in the PC running QASA or QA. If the
PC has 128K bytes or more of available memory (free memory above
DOS and all TSRs), you are essentially unrestricted.
The P= Keyword
--------------
This keyword is used to simplify the answer list for answers that
contain unimportant punctuation. For example, if the correct
answer to a question is "Washington, D.C.", you would not want a
student scored as incorrect if he or she were to answer with
"Washington DC". The P= keyword prevents this situation.
The P= keyword applies ONLY to the next answer list following the
keyword. Once the next answer is compiled, punctuation is once
again significant.
Also, the P= keyword causes punctuation to be stripped from all
answer lines beginning with the SECOND answer line. This is so
that the correct answer can be displayed with all punctuation
intact if the question is answered incorrectly. To elaborate on
the "Washington, D.C." example, you could use:
P=
Q=
What is the capitol of the United States?
A=
Washington, D.C.
Washington, D.C.
Note that the FIRST answer line will be left intact, but all
punctuation will be removed from the second line when it is
compiled. Also, when the user enters an answer in response to the
question, all punctuation will be removed from the answer before
it is compared to the answer list. Therefore, any answer that
contains "Washington DC" will be scored as correct: "Washington,
DC", "Washington D.C.", and so on. It is NOT necessary to include
the punctuation in the second answer line above.
This keyword is also useful for numbers; e.g., it removes any
distinction between "1,000" and "1000", and between "$50" and
"50". In some cases you will have to exercise caution, as in
"$50.00", where "5000" would be scored as correct, even though it
is not at all what was intended.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 34
The N= Keyword
--------------
The N= keyword is used to specify the quiz name. The name must
appear on the line following the keyword, and may be up to 60
characters in length. When the database is loaded into QASA or
QA, this name appears in the top border of the center (question)
window.
For example, to name a quiz on American history as such, you
would use
N=
American History Quiz
The M= Keyword
--------------
The M= keyword is the macro definition keyword, and indicates to
QASA that the following lines are a macro definition. The macro
definition takes the following form:
M=
<macro identifier>
<first macro line>
<second macro line>
..............
<Nth macro line>
<termination>
Macros are expanded only within question and answer text, so you
may not use a macro to specify a score file name, for example.
To build a macro for 'TRUE' from two other macros, you could use:
M=
$T$
True
T
M=
$Y$
Yes
Y
M=
$TRUE$
$T$
$Y$
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 35
We have defined three macros, "$T$", "$Y$", and "$TRUE$". If QASA
encounters $TRUE$ in a question or answer, it will replace it
with:
True
T
Yes
Y
because "True" and "T" are expansions of $T$ and "Yes" and "Y"
are expansions of $Y$. Note that blank lines are unnecessary
between the macro definitions, since each is terminated by the M=
keyword of the following macro.
Macro invocations MUST be surrounded by whitespace. For example,
many multiple-choice questions use the blanket selectors "none of
the above" and "all of the above". You could therefore use the
following macros:
M=
$NONE$
None of the above.
M=
$ALL$
All of the above.
and write a multiple-choice question as:
Q=
Multiple-choice:
In what year did Christopher Columbus land in the New World?
1. 1592
2. 1492
3. 1066
4. $NONE$
5. $ALL$
A=
2. 1492
2
1492
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 36
QASA will expand this to:
Q=
Multiple-choice:
In what year did Christopher Columbus land in the New World?
1. 1592
2. 1492
3. 1066
4. None of the above.
5. All of the above.
A=
2. 1492
2
1492
Remember that the QASA compiler is line-oriented, however. If you
put the following in the database definition file:
M=
$NW$
New World
Q=
Multiple-choice:
In what year did Christopher Columbus land in the $NW$?
1. 1592
2. 1492
3. 1066
4. None of the above.
5. All of the above.
QASA will NOT expand it because there is no whitespace between
$NW$ and the '?'. If, however, you use
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 37
M=
$NW$
New World
Q=
Multiple-choice:
In what year did Christopher Columbus land in the $NW$ ?
1. 1592
2. 1492
3. 1066
4. None of the above.
5. All of the above.
QASA will expand it to
Q=
Multiple-choice:
In what year did Christopher Columbus land in the New World
?
1. 1592
2. 1492
3. 1066
4. None of the above.
5. All of the above.
because the macro expansion includes the newline. You should not,
therefore, attempt to use a macro in the middle of a block of
text.
Although QASA contains a two-pass compiler, macros must be
defined before they can be used. If you place a macro definition
in the middle of the database definition file and use the macro
identifier before and after it, then the identifiers that appear
before the macro definition will NOT be expanded. Define all of
your macros before entering the first question.
As shown in the examples above, macros are expanded recursively,
so if you place the macro identifier in any of the macro defini-
tion lines, you will create a self-referential macro. QASA will
detect this condition no matter how deeply nested the reference
may be. A self-referential macro will cause a fatal compiler
error. Recursive macros are allowed so that you may build complex
macros from simple ones if you wish. An obvious self-referential
macro is shown below:
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 38
M=
$MACRONAME$
macro text line 1
macro text line 2
$MACRONAME$
When QASA encounters the second "$MACRONAME$", it would attempt
to expand it using the current definition of $MACRONAME$, which
would in turn cause it to encounter $MACRONAME$ again, and so on,
until the program runs out of memory. QASA will detect this
condition and generate an error message.
Not all self-referential macros are obvious, however. Note that
you can create a self-referential macro using two macros, as
shown below:
M=
$MACRO 1$
text
text
$MACRO 2$
M=
$MACRO 2$
text
text
$MACRO 1$
In this case, both macros refer to the other when expanded,
creating a circular reference. This will also cause a fatal
compiler error.
The T= Keyword
--------------
This is the time limit keyword. Include it in the database
definition file to specify a time limit. If you omit it, there is
no time limit.
The syntax is as follows:
T=
HH:MM:SS
where HH is hours, MM is minutes, and SS is seconds. If the time
limit is less than an hour, you may omit the hours field; simi-
larly, if the time limit is less than a minute, you may omit the
hours and minutes fields. The sample database definition file
contains a 10-minute timeout, given by
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 39
T=
10:00
Note: If you specify a time limit for a database, the /FS
(File/Save Database) command will be disabled. A user
attempting to use this command will receive an error
message, and the command will be ignored.
The C= Keyword
--------------
This keyword is used to disable the Clear command. An individual
taking a quiz with QASA can use the Clear command to reset the
score and essentially do the quiz twice. The author of the
database definition file may prevent this by entering
C=
in the database definition file. When this is done, QASA will
ignore the Clear command completely.
Note that if the Clear command is allowed, by omission of the C=
keyword, and the score file is enabled with the F= keyword
(described later), then a score record will be written to the
score file indicating that the user cleared the score and re-
started the quiz.
The S= and R= Keywords
----------------------
These are the mode lock keywords, where S= stands for "sequen-
tial" and R= stands for "random". These keywords are mutually
exclusive; a database definition may not contain both keywords.
If it does, an error will be generated by QASA.
These keywords are used to lock QASA and QA in the mode specified
by the keyword. If you do not give either keyword, then the user
of QASA (only) is free to use the Mode command to change modes.
For example, to lock QASA in sequential mode, use the following:
S=
and to lock QASA in random mode:
R=
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 40
There are no other arguments. The lock remains in effect until
another database is loaded (which may also be locked).
The F= Keyword
--------------
The F= keyword controls logging of score information to a disk
file. Logging is enabled by specifying a filename with the F=
keyword, and disabled if you omit the keyword.
The filename you specify may be any valid DOS pathname, up to 64
characters in length. All scoring records are appended to the
file if it already exists, or the file will be created automati-
cally if it does not exist. QASA and QA will, however, force the
filename to have an extension of ".SCR".
The score logging file may exist on a file server of a networked
system if desired. However, QASA AND QA DO NOT SUPPORT FILE
SHARING. Typically, a networked system will require that a file
be locked while it is being updated so that no other network user
may access the file until the updating has been completed. If
QASA or QA are used in a networked system, the networking exten-
sions to DOS must provide this function.
If networking is to be used, but the network does not perform
locking on a file level, then you should specify a score logging
file on the local drive of each PC, and collect these files at a
later time. Otherwise, you may end up with a corrupted score
file.
All score log records are plain ASCII (except when encryption is
selected). An example is reproduced below.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 41
Student Name: John Q. Public
Database Name: QASA Sample Database
Final Score: 72.41%
Grade: C
Termination: TIME LIMIT
Started: Monday, July 31, 1992, 15:44:44
Completed: Monday, July 31, 1992, 15:46:45
Elapsed Time: 00:02:00
Database File: SAMPLE.QA
Total Questions: 20
Possible Points: 29
Points Awarded: 21
Point Matrix:
1 2 3 4 5 6 7 8 9 10
0001-0010 10.34 3.45 3.45 ??? 3.45 --- ??? --- 3.45 3.45
0011-0020 6.90 3.45 6.90 3.45 --- 3.45 3.45 6.90 3.45 6.90
*****************************************************************
The '***..***' forms a separator between individual records.
The first block contains summary information regarding the quiz
session. The quiz taker's name is listed along with the name of
the database (given by the N= keyword), the final score, the
letter-grade equivalent (or "n/a" if none were assigned), and the
reason the score record was written to the score file. In this
example, it is given as 'TIME LIMIT'. This means that the quiz
taker used up the time allotted by the T= keyword. The possible
reasons for termination are:
Completed The user answered all questions (and option-
ally, within the time allotted by the T=
keyword).
TIME LIMIT The user exceeded the time allotted by the T=
keyword. This reason can only be produced if
a time limit was given.
ABORTED This indicates that the user quit the QASA or
QA session before answering all questions
using the /FX command or by pressing Control-
C or Control-Break.
CLEARED The Clear command (/MC) was used to clear the
score and restart the quiz. This reason can-
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 42
not be produced if the C= keyword is used to
disable the Clear command.
RELOADED The user reloaded the database, or loaded a
different database, or continued a previous-
ly-saved database before all questions were
answered.
The final score is always the ratio of the number of possible
points to the total number of points awarded by answering cor-
rectly. Questions that were not answered are scored as incorrect.
The score file record also specifies the time the database was
loaded (thereby starting the timer, if a time limit was given),
the time the quiz was completed or stopped (for any of the
reasons given above), and the elapsed time.
The third block of the record gives the name of the compiled
database file, the number of questions in the file, and the
number of possible points with the number of points awarded.
Because QASA supports weighting, the number of possible points
may be entirely different from the number of questions.
The last block is the point matrix. This shows the results of
each question in the database, ten questions per line. Each
question may have one of four possible outcomes:
1. The question was answered, and answered correctly. The
point matrix will show the number of points awarded as
a ratio of the number of possible points, relative to
100.
2. The question was answered, but answered incorrectly.
The point matrix will show that no points were awarded
with '---'.
3. The question was not answered, either by skipping over
it or by exceeding the allotted time. The point matrix
will show this with '???'. No points were awarded.
4. The point matrix entry for the question is completely
blank, which means that it was omitted from a subset
generated from the full database. In this case, the
question was not considered at all, in any calcula-
tions.
In the example score record shown, you can see that questions 6,
8, and 15 were answered incorrectly, questions 4 and 7 were not
answered (most likely due to the time limit given as the reason),
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 43
and the remaining 15 questions were answered correctly. The point
breakdown will be described in the section on weighting.
The E= Keyword
--------------
This keyword is used to instruct QASA that the score file is to
be encrypted. This prevents a user from completing a quiz session
and then editing the score file manually to increase the score.
When this keyword is used, the score file will not be human-
readable, and must be converted back to plain text. This is done
using the /UD (Utilities/Decrypt score file) command. This
command, which is password-protected, will restore the score file
to plain text using the same file name. If the score file is, or
has already been converted to plain text, /UD will not reprocess
it.
If you enter the E= keyword anywhere in the database definition
file, QASA will set a global flag that encrypts the entire score
file.
The D= Keyword
--------------
This keyword is used to disable the display of the correct answer
if a question is answered incorrectly. If omitted, QASA or QA
will display
Incorrect. The correct answer is
(Correct Answer)
Press any key to continue
The syntax of the D= keyword is as follows:
D=
If you enter the D= keyword anywhere in the database definition
file, QASA will set a global flag that disables this display.
QASA/QA will go on to the next question as though the answer was
correct.
The W= Keyword
--------------
This keyword is used to assign weights to each question. The
weighting system you use is entirely arbitrary and up to you.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 44
QASA imposes only the restriction that you use integer weights,
and that you use numbers between 0 and 16383, inclusive.
The syntax of the W= keyword is as follows:
W=
<weight>
When QASA encounters this keyword, it reads the weight and
assigns it to all the questions that follow it. If QASA encoun-
ters the W= keyword again, it will change the weight to the new
weight, and assign the new weight to all following questions. As
each question is processed by the QASA compiler, QASA keeps track
of the total weight. When QASA scores a question, it determines
the point score to be the ratio of the total weight to that of
the question in percent. This point score is added to the running
score shown in the scoring window, and also appears in the point
matrix in the score file (actually, the point score is recalcu-
lated after each question from the weights to avoid rounding
errors).
If you do not specify a weight anywhere in the database defini-
tion file, all questions will be weighted as one point by de-
fault.
Note that this arrangement allows you total flexibility in
setting up a weighting system. You do not have to weight each
question as a fraction of 100, for example. QASA does this for
you.
The sample database weights each 'fill-in' question as three
points, each true/false as 2 points, and each multiple-choice
question as one point. There is one 'fill-in' question, 7 'true-
false' questions, and 12 'multiple-choice' questions. The points
are calculated as follows:
fill-in 1 times 3 points = 3 points
true/false 7 times 2 points = 14 points
multiple-choice 12 times 1 point = 12 points
-------------------------------------
Totals: 20 questions 29 points
There are therefore 29 possible points (as shown in the score
file). A 'fill-in' question is worth 3/29 points or 10.34 points
relative to 100. A 'true/false' question is worth 2/29 points or
6.90 points relative to 100, and a 'multiple-choice' question
1/29 or 3.45 points relative to 100. In the example score record,
the user was awarded a total of 21 out of 29 possible points, for
a score of 21/29 or 72.41%. Adding all of the points shown in the
point matrix will produce the same result (there may be a slight
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 45
difference due to rounding, which is done only when the scores
are displayed).
QASA also allows you to assign a weight of zero to one or any
number of questions. These questions will not affect the score,
as the score for any question is the ratio of the total weight of
all questions to the weight of the question being scored. If you
assign a weight of zero to all questions, the score will always
be zero.
The L= Keyword
--------------
The Limit keyword command allows you to specify to the QASA
compiler that it is to create a subset of the database. The
syntax is as follows:
L=
<number of questions>
The sample database contains 25 questions, and also contains the
L= keyword to limit the database to 20 of the possible 25 ques-
tions. The QASA compiler chooses the 20 questions at random.
When a subset database is created and executed, there are two
possible times when the subset selection may be made: (1) when
the database is compiled, in which case the compiler makes the
choices, and (2) at run-time, when the database is loaded, in
which case it is the QASA or QA interpreter that selects the
subset.
If QASA is being used by a single individual, it makes little
difference when the selections are made. In a classroom environ-
ment, however, the difference is substantial.
In a classroom environment, or any environment where more than
one person is taking a quiz using QASA (or QA), a database where
the subset is chosen at compile time will result in each person
being asked exactly the same set of questions. This is useful for
generating a random class quiz, for example.
However, if the choice is deferred until run time, then each
person will be asked the same number of questions, but each
person will be taking a quiz that may be entirely different from
all the others. If the database contains questions of varying
difficulty, some will be given 'easy' questions, while others may
receive 'hard' ones.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 46
The choice of when to generate the random subset is performed by
the O= keyword described below.
The O= Keyword
--------------
This keyword is used to define when the random subset of the
database defined by the L= keyword is generated. If the L=
keyword is not specified, this keyword will have no effect. It
may be given before or after the L= keyword.
If specified, O= means Omit immediately; in other words, omit the
questions that are not a part of the random subset at compile
time.
Conclusion
----------
Most of these examples can be found in the sample database
definition file, SAMPLE.DEF. Experiment with it (remember to
recompile it with QASA if you change it), but please don't pass
on a modified copy to someone else.
Hal Endresen
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 47
Appendix A: QASA Compiler Error Messages
----------------------------------------
Illegal definition filename: <filename>
This error is generated if you supply a database definition
file with an extension of .QA.
Cannot find database definition file <filename>
This error indicates that QASA was not able to open the
database definition file you specified.
Unable to create temporary file <filename>
This error indicates that QASA was not able to create its
intermediate temporary file.
File <def file> : Line <line> : Answer omitted
You specified a question without an accompanying answer, or
your syntax is such that QASA could not determine where the
answer is.
File <def file> : Line <line> : Question omitted
You specified an answer without a preceding question, or
your syntax was such that QASA could not locate the ques-
tion.
File <def file> : Line <line> : Macro name missing
You specified a macro definition (M=), but the next line is
blank.
File <def file> : Line <line> : Weight definition missing
You specified weighting (W=), but the next line is blank.
File <def file> : Line <line> : Invalid weight
You specified a weight that was outside the range 1..32767
or entered non-numeric characters.
File <def file> : Line <line> : Title missing
You specified the name keyword N=, but the next line is
blank.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 48
File <def file> : Line <line> : Title too long - truncated
The name you entered after the N= keyword is longer than 60
characters.
File <def file> : Line <line> : Time limit definition missing
You specified the time limit keyword T=, but the next line
is blank.
File <def file> : Line <line> : Invalid time limit
The time limit you specified following the T= keyword is not
in the form HH:MM:SS.
File <def file> : Line <line> : Mode lock already set
You specified S= and R= in the same definition file. QASA is
complaining about the second occurrence.
File <def file> : Line <line> : Filename missing
You specified an output score file with the F= keyword, but
the next line is blank.
File <def file> : Line <line> : Illegal filename
You specified a filename after the F= keyword that has
invalid characters or longer than 64 characters.
File <def file> : Line <line> : Question line exceeds <nn>
characters
You entered a line in a question block that will not fit
into QASA's window.
File <def file> : Line <line> : Question exceeds <nn> lines
You entered a question that has too many lines.
File <def file> : Line <line> : Answer line exceeds <nn> charac-
ters
You entered an answer line that will not fit into QASA's
answer window.
Cannot create database output file <filename>
QASA was unable to create the compiled database output file.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 49
Cannot open temporary file <filename>
QASA was unable to create its temporary file.
File <def file> : Line <line> : Macro <name> is self-referential
The macro specified is self-referential. This may be a
direct self-referencing macro or it may occur as a result of
a complex series of recursive, circular macro expansions.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 50
Appendix B: Revision Information
--------------------------------
Version 4.1 January 17, 1993
Beginning with Version 4.1, QASA can be registered online
via CompuServe. GO SWREG and register ID # 502.
Modified the registration screen so that if 200 or more
copies are specified, a site license is automatically grant-
ed.
Version 4.0 December 1, 1992
Version 4.0 incorporates many of the changes and improve-
ments that have been suggested by various users of Q&A Study
Aid. Two significant features have been added in this ver-
sion:
(1) A separate program, QA.EXE, is included with the Q&A
Study Aid package. This program is essentially the
QASA.EXE program without the quiz creation capabili-
ties. It has only a single menu for simple operation.
Its purpose is to enable you to give tests and quizzes
without confusing the test takers with the many options
available with QASA.EXE.
QA.EXE is not serialized and does not attempt to modify
itself at any time; this permits it to be executed in a
DOS screen under OS/2 2.0.
Also, if the name of a quiz is specified on the command
line (or in a batch file), then QA.EXE will automati-
cally terminate, returning control to DOS when the quiz
is completed (or terminated for any reason). This
feature permits one to complete a quiz session without
using any commands or menu functions at all.
(2) QASA.EXE is now able to generate a subset of a data-
base. For example, if you create a database containing
50 questions, you can specify that QASA generate a
database containing only 25 questions, chosen at ran-
dom. You may select the size of the subset to be any-
thing from 1 up to the full size of the database.
Further, the random selection of questions may be
specified to occur at one of two times: during the
compilation process, or when the database is loaded.
Making the selection at compile time allows each stu-
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 51
dent to receive the same database. If the selection is
deferred until run time, then each student will receive
a unique and different subset of the database. Each
student will, however, be given the same number of
questions to answer.
Two new command keywords, "L=" and "O=", are used to
control the creation of database subsets.
The naming conventions have been changed in version 4.0.
Specifically, the ampersand ('&') has been removed from all
filenames, as some operating systems (DEC's VMS and IBM's
OS/2 are two) cannot tolerate this character within a file-
name. CompuServe cannot tolerate an ampersand either. Also,
the filenames have been shortened to six characters instead
of the eight allowed by DOS, again to accommodate other
operating systems. These changes insure that Q&A Study Aid
will have the same filename from all sources.
Version 3.91 April 26, 1992
Added the /UR (Utilities/print Registration form) command.
This command prompts for all of the information needed to
register Q&A Study Aid, and prints a form ready to mail,
complete with computations showing pricing. This feature
also determines many of the more important features of your
computer system so that this information is available should
you require assistance.
Added the file VENDOR.DOC for vendors and BBS Sysops.
Version 3.90 September 1, 1991
Fixed a major bug that caused questions to be skipped in
both sequential and random modes. All questions are now
properly presented in either mode. Thanks to a concerned
user in Pennsylvania for reporting this error.
Integrated all auxiliary programs into the main program
file. There is now only one program. Access to the compiler
and other functions related to the score file is now by
password access.
Added a secure password function. Q&ASA is distributed
without a password. To enable password protection, you must
enter a password.
Added the ability to export certain fields of the score file
in a form suitable for importing into other spreadsheet and
database programs.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 52
Added the ability to associate "letter grades" to scores.
Letter grades consist of any string up to five characters in
length. This permits the use of an A..F grading system, or
the GPA grading system used in colleges and universities;
e.g., 4.0 and down, or even "PASS/FAIL". There is no defined
limit on the number of associations between scores and
letter grades.
Added the ability to exclude all punctuation from an answer
list and from the user's response. This allows the answer
list to be shorter, and permits numbers with commas to be
scored correctly if the commas are omitted.
Added code to detect self-referential macros, now matter how
deeply recursive the nesting may be. Q&ASA can no longer
crash if self-referential macros are inadvertently speci-
fied.
Added a test to lock out the /N (Name) command once a data-
base with score file logging has been loaded and a name has
been entered. This prevents a user from changing his or her
name if the score is low.
Added the "Utilities" menu that provides access to the pass-
word-setting function, the compiler, score file utilities,
menu selector character, and color selection, as follows:
o The /UM command sets the menu selector character.
o The /US command sets the screen colors.
o The /UP command sets the password.
o The /UC command executes the compiler.
o The /UD command is used to convert an encrypted
score file to plain text.
o The /UE command is used to export a score file in
a format suitable for use with other database and
spreadsheet programs.
Recompiled Q&ASA using the large data model. In a system
with 512K bytes of memory available after booting, Q&ASA can
now accommodate some 40,000 questions and their answers.
Internal overlays are used to keep the size of executable
memory image to a minimum.
Q&ASA is now "DESQview aware" and will properly execute
within a DESQview window.
Added a command to "shell" to DOS for access to an editor or
other program from within Q&ASA.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 53
The /FS (File/Save Database) command no longer causes an
immediate exit to DOS. You may therefore save a database in
progress and then load another one.
Version 3.80 August 4, 1990
Changed Mode/Random from /MA to /MR.
Eliminated the screen control menu.
Left-justified the mode in the status window.
Added a check to insure that the screen is free before
updating the time left.
Recompiled with aggressive optimizations using the new
version (V6.0) of the Microsoft C Optimizing Compiler. The
.EXE file size has been significantly reduced.
Version 3.70 December 30, 1989
Fixed a major bug that caused all screen attributes to be
set to zero if the configuration file was missing. Since the
configuration file is not distributed with Q&A Study Aid,
the effect was to present a blank screen. Although commands
could be entered and the screen colors set, all of this had
to be done with a blank screen.
Also fixed a bug in the answer screen that would not allow
an altered menu-select character to be used to escape into
the menu system. This bug was reported by a concerned user;
our thanks go out to him.
Version 3.60 December 10, 1989
A potential problem was found and corrected with the calcu-
lation of weights. This problem would be encountered only if
the total weight exceeded 32767, which is the maximum weight
permitted.
The /FS (File/Save Database) and /FC (File/Continue Data-
base) commands were added. This combination allows the user
of Q&ASA to save the current state of a test or quiz data-
base and return to it later. The database will be restored
to its previous state. These commands will not work if the
database has a time limit associated with it.
The "E=" option has been added to the database compiler
Q&AC.EXE. This option specifies that the score file is to be
encrypted so that a user cannot complete a test or quiz, and
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 54
then edit the resulting score in the score file. A new
utility, Q&AD.EXE, restores the score file to plain ASCII
text.
A configuration file was added. This file must be located in
the same directory as the help file Q&ASA.HLP, and the same
rules that govern its access apply to the configuration
file. The configuration file is named Q&ASA.CFG. It is not
included in the distribution, since Q&ASA will automatically
create it the first time it is executed.
A new command, /FE, allows the screen colors to be changed.
The new values are saved in the configuration file.
A new command, /FM, allows the menu selector character to be
altered. This defaults to the forward slash character ('/'),
but may now be changed to any other character in the print-
able ASCII range of '!' through '~', inclusive. Once
changed, the new selector character is saved in the configu-
ration file so the effect of the change will be permanent
unless changed again.
The weighting system was altered to permit questions to have
a weight of zero. If desired, all questions may be weighted
as zero, but this will cause all scores to be zero also.
Version 3.50 August 10, 1989
The menu was modified to eliminate the /FD and /FS commands,
which were replaced with the single command /FL (File/Load
Database). The directory defaults to the current working
directory. The directory may be changed if desired.
Major internal enhancements were made to the video system.
Q&ASA will now detect the type of display adapter in use,
and will operate properly with 132-column and 43- and 50-
line modes. The screen update rate has been increased. The
/S? commands are necessary only in extreme cases where snow
is a severe problem (these commands have been retained,
however). Q&ASA will now autoselect the screen update meth-
od.
The registration functions have been entirely replaced. The
new registration system now sets the executable file to
read-only to prevent inadvertent overwriting of the execut-
able image. The serial number now provides certain essential
information about the system Q&ASA is running on. Q&ASA will
detect certain changes to itself and refuse to execute if it
is modified. A demonstration mode has been added (although
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 55
the program is not distributed as a demo; it is a full-
featured program with no crippling of any function).
Q&ASA now intercepts the Control-C and Control-Break keys
and will perform a graceful exit with proper updating of the
score file. Hardware error detection and handling of criti-
cal errors has been improved, and now offers the options of
Retry or Cancel (Cancel aborts only the command that experi-
enced the error, not the program as a whole).
The Help key (F1) is now active in the opening screen. You
may obtain an overview of the operation of Q&ASA at the
opening screen, or exit the program by pressing ESCape.
Several new categories have been added to the help file for
registering and for reporting problems.
Version 3.1 July 31, 1989
Made some minor corrections and additions to this manual,
and corrected a minor bug related to locating the executable
file on disk.
Version 3.0 May 1, 1989
Corrected a bug in the random mode termination function, and
enhanced the random mode search speed. Version 2.1 would
continue to ask questions after they had been answered,
allowing a user to gain a score exceeding 100%. Also en-
hanced the registration function.
o Added the 'D=' command to Q&AC and Q&ASA to allow the
database author to disable display of the correct
answer if the user answers incorrectly.
o Added the ability to specify and execute a database
from the DOS command line.
Version 2.1 July 31, 1988
Minor enhancements to help system.
Version 2.0 March 22, 1988
Major enhancements to allow Q&ASA to be used in a formal
classroom environment. Among the changes are the following:
o Optional logging of scoring information to a disk file.
o Compiled database eliminates run-time interpreter
errors and permits the database to be encrypted.
o Display of the database name as the window title.
o Faster response when loading questions.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 56
o Greatly improved help system allows selection and
viewing of any help category at any time.
o Optional locking of selected mode and lockout of cer-
tain commands.
o Ability to assign a weight to each question and have
this weight determine the number of points awarded for
a correct answer to a question.
o Ability to specify a time limit to answer all ques-
tions.
o Elimination of all index files.
Version 1.0 January 7, 1988
Initial public release.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 57
COPYRIGHT
---------
This program is copyright (C) 1988, 1989, 1990, 1991, 1992, 1993
by Harold J. Endresen, Quid Pro Quo Software. All rights reserved
worldwide.
Q&A Study Aid is distributed as SHAREWARE, or User-Supported
Software. You are encouraged to try the program and share it with
others, provided that:
The program is distributed in unmodified form as the com-
plete archive QASA41.ZIP, complete with documentation and
the registration information on the following pages.
No fee, charge or other consideration is requested or ac-
cepted (a nominal reproduction fee is acceptable if dis-
kettes or CD-ROMs are the distribution medium, provided no
charge is specified or required for the program itself).
The program is not distributed in conjunction with any other
product.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 58
DISCLAIMER - AGREEMENT
----------------------
Users of Q&A Study Aid must accept this disclaimer of warranty:
"Q&A Study Aid is supplied as is. The author disclaims all
warranties, expressed or implied, including, without limitation,
all warranties of merchantability and of fitness for any purpose.
The author assumes no liability for damages, direct or consequen-
tial, pecuniary or otherwise, which may result from the use of
Q&A Study Aid."
Anyone distributing Q&A Study Aid for any kind of remuneration
MUST specify in any literature or advertising that Q&A Study Aid
is SHAREWARE, and as such, requires registration and payment to
the author of the program above and beyond any payment the buyer
makes for a copy of the program on some distribution media.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 59
REGISTRATION
------------
Q&A Study Aid is a "shareware program" and is provided at no
charge to the user for evaluation. Feel free to share it with
your friends, but please do not give it away altered or as part
of another system. The essence of "user-supported" software is to
provide personal computer users with quality software without
high prices, and provides an incentive for programmers to contin-
ue to develop new products. If you find this program useful and
find that you are using Q&A Study Aid and continue to it after a
reasonable trial period (30 days), you must make a registration
payment of $20.00 (US) to Quid Pro Quo Software. The $20.00
registration fee will license one copy for use on any one comput-
er at any one time. You must treat this software just like a
book. An example is that this software may be used by any number
of people and may be freely moved from one computer location to
another, so long as there is no possibility of it being used at
one location while it is also being used at another - just as a
book cannot be read by two different persons at the same time.
You are encouraged to pass a copy of Q&A Study Aid along to your
friends for evaluation. Please encourage them to register their
copy if they find the program useful and continue using it. All
registered users will receive a copy of the latest version of the
Q&A Study Aid system if the registration form specifies any
version prior to the latest version, and all registered users
will be notified of upgrades and improvements. As a registered
user, you are also entitled to free replacement of the program
should a maintenance release be made within a period of one year
following your original registration.
Commercial or governmental users of Q&A Study Aid must register
and pay for their copies of Q&A Study Aid within 30 days of first
use or their license is withdrawn. Quantity discounts apply per
the following schedule (all prices are in US dollars):
One copy $20.00
Two copies $35.00
3-10 copies $10.00 plus $10.00 per copy
11-30 copies $50.00 plus $5.00 per copy
30-199 copies $100.00 plus $2.00 per copy
200+ copies $500.00 site license
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 60
SITE LICENSING
--------------
Q&A Study Aid is particularly suited for a classroom environment.
For this reason, a site license is available for the equivalent
of 200 individual copies of Q&A Study Aid, or $500.00. A site
license applies to a single geographical location, networked or
not, which may consist of more than one physical structure or
building. A site license is automatically extended to include
multiple sites that comprise a single school, college, or univer-
sity campus, even if these sites are not physically adjacent. A
site license does NOT include organizational structures such as
whole school districts, or multiple, individually-named sites of
an entire state university system.
If you would like to purchase a site license, simply specify 200
or more copies of the Q&A Study Aid Program. This will be auto-
matically converted to a site license at a maximum registration
fee of $500.00. It is your responsibility to make as many physi-
cal copies of the registered program as you require for your
organization.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 61
SPECIAL OFFER!
--------------
Registered users of Q&A Study Aid program may purchase a 1-year
subscription to Shareware Magazine, normally $20.00, for just
$12.95. Simply call (800) 245-6717 and give Special Order #: 2262
in order to use Mastercard or VISA. You may also send a check for
$12.95 to:
Shareware Magazine Subscription
1030 D E. Duane Ave.
Sunnyvale, CA 94086
Include the Special Order number along with your name and mailing
address.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software
Q&A Study Aid V4.1 User's Guide 62
Q&A STUDY AID V4.1 REGISTRATION FORM
Name_____________________________________________________________
Title ___________________________________________________________
Company _________________________________________________________
Address _________________________________________________________
City __________________________________ State ______ Zip ________
Country _______________________________ Phone ___________________
SERIAL NUMBER FROM OPENING SCREEN _______________________________
NUMBER OF COPIES DESIRED (see schedule below) ___________________
Display System __________________________________________________
DOS Version _____________________________________________________
PC Make/Model/CPU _______________________________________________
Fixed Disk Type/Capacity ________________________________________
Floppy Disks ____________________________________________________
System RAM ______________________________________________________
To register, send this form and a check for the appropriate
amount in U.S. dollars to Quid Pro Quo Software at the address
shown below. The discount schedule is as follows:
One copy $20.00
Two copies $35.00
3-9 copies $10.00 plus $10.00 per copy
10-29 copies $50.00 plus $5.00 per copy
30-199 copies $100.00 plus $2.00 per copy
200+ copies $500.00 site license
Quid Pro Quo Software
P.O. Box 1248
Cedar Rapids, IA 52406-1248
Registered users will receive notification of upgrades of Q&A
Study Aid, a registration number to remove the registration
notice from the opening screen, and support either via CompuServe
[73760,2032] or by mail. You will be entitled to maintenance
releases for a period of one year following original registra-
tion. Non-registered users may make inquiries as to the suitabil-
ity of this program for their particular purpose and to report
bugs, errors, or desired features.
Copyright (C) 1988-1993 Harold J. Endresen, Quid Pro Quo Software